/**   
 * All rights Reserved, Designed By MiGu  
 * Copyright:    Copyright(C) 2016-2020  
 * Company       MiGu  Co., Ltd.
*/
package com.migu.spms.dao.inf;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.migu.spms.dao.entity.ChangeHistoryCriteria;
import com.migu.spms.dao.entity.ChangeHistoryDO;

/**   
* IChangeHistoryDO类
* 项目名称:  SPMS功能需求
* 包名称:    com.migu.spms.dao.inf   
* 类名称:    IChangeHistoryDO.java
* 类描述:    
* 创建人:    wcr   
* 创建时间:  2017年6月21日 上午10:24:00   
*/
@Repository(value="IChangeHistoryDO")
public interface IChangeHistoryDO {
    int deleteByPrimaryKey(Long id);

    int insert(ChangeHistoryCriteria record);

    int insertSelective(ChangeHistoryCriteria record);

    ChangeHistoryDO selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(ChangeHistoryCriteria record);

    int updateByPrimaryKey(ChangeHistoryCriteria record);
    
    /**
    * 批量插入
    * @param list
    * @exception
    * @throws
    */
    void insertChangeHistoryBatch(List<ChangeHistoryCriteria> list);

    /**
    * 根据功能需求ID查询变更历史
    * @param functionRequireId
    * @param requireId
    * @return
    * @exception
    * @throws
    */
    List<ChangeHistoryDO> selectChangeHistoryDOList(String requireId);
    
    List<ChangeHistoryDO> selectChangeList(ChangeHistoryCriteria criteria);

    /**
     * @Title: selectLastFlowChangeEvent
     * @Description: 选择最后一条流程操作历史
     * @param @param functionRequireId
     * @param @return  
     * @return ChangeHistoryDO
     * @author le
     * @throws
     */ 
     ChangeHistoryDO selectLastFlowChangeEvent(@Param(value="functionRequireId") Long functionRequireId);
}